#ifndef BUSINESSINIT_H
#define BUSINESSINIT_H
#include <string>

class BusinessInit
{
public:
    static BusinessInit& getInstance() {
        static BusinessInit instance;
        return instance;
    }


    // 初始化所有的模块
    bool InitModules();

    // init the program
    void InitProgram();

    // 保存全局设置
    void saveGlobalConfig();

    // 删除拷贝构造函数和拷贝赋值操作符
    BusinessInit(BusinessInit const&) = delete;
    BusinessInit& operator=(BusinessInit const&) = delete;

private:
    BusinessInit() = default;
    // 程序是第一次运行，初始化本地配置文件
    void InitConfigFile();

    // 读取本地配置文件
    bool readLocalConfigure();

    // judge a string whether a json
    bool isvalidJson(const std::string& str);
};

#endif // BUSINESSINIT_H
